![]() METHOD AND ARRANGEMENT FOR DECODING SPATIAL-RELATED INDICIA
专利摘要:
A method of decoding spatially related indicia includes: in an imaging control, driving an image sensor to record an image including a plurality of indicia; at the imaging control, detecting image positions of each of the indicia; in the imaging control, for each of a plurality of indicia pairs: determining whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (i) values decoded from the indicia in the pair, and (ii) an indicator that the decoded values are related. 公开号:BE1026792B1 申请号:E20195886 申请日:2019-12-10 公开日:2021-02-24 发明作者:Dongqing Chen;David S Koch;Lindsay M Fahmi 申请人:Zebra Tech Corp; IPC主号:
专利说明:
METHOD AND ARRANGEMENT FOR DECODING SPATIAL-RELATED INDICIA BACKGROUND Indicia such as barcodes are used to identify and track items in a wide variety of use cases. For example, separate barcodes can be used to identify any of a plurality of items, such as units packed in a crate, pallet, or the like. The barcodes can be printed on a shipping list or the like. Furthermore, more than one barcode can be provided on the cargo list for each unit, e.g. with each barcode for a particular unit specifying a different property of the unit. Such barcodes can be scanned in bulk by image-based scanners, but associating the barcodes corresponding to a particular unit requires time-consuming and error-prone manual intervention. SUMMARY OF THE INVENTION According to one aspect of the invention, there is provided a method in a data recording apparatus for decoding spatially related indicia, the method comprising, in an imaging control, driving an image sensor for recording an image including a plurality of indicia, in the imaging control, detecting image positions of each of the indicia, in the imaging control, and, for each of a plurality of indicia pairs, determining whether the image positions of the indicia in the pair have a predetermined spatial relationship, and, in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (1) values decoded from the indicia in the pair, and (1) an indicator that the decoded values are related to be. The method may further include, at the imaging control, in response to determining that an indicium does not have the predetermined spatial relationship, presenting a value decoded from the indicium without the indicator. Presenting the values and the indicator may include driving a screen for the data recording device to display the values and the indicator. The image positions can include bounding boxes. Determining whether the image positions of the indicia in the pair have the predetermined spatial relationship can be done in the imaging control, selecting a predetermined edge of each bounding box of the pair of indicia, and determining whether the edges are substantially collinear , include. Determining whether the edges are substantially collinear can be done in the imaging control, merging the edges to generate a quadrilateral, determining a surface area of the quadrilateral, and determining whether the surface area of the quadrilateral exceeds a threshold, where a surface area exceeding the threshold indicates that the edges are not collinear. Each indicia can have a length and a height, wherein the spatial relationship can be at least one of (1) the lengths of the pair of indicia are substantially collinear, and (ii) the height of the pair of indicia are substantially collinear. . The method may further include selecting the indicia pairs at the imaging control, by retrieving a configuration setting that determines first and second types of indicia, decoding the indicia to obtain decoded values, selecting a primary indicium having a decoded value corresponding to the first type, and selecting, for each pair, respective secondary indicia having decoded values corresponding to the second type. The types of indicia can include predefined character strings. According to another aspect of the invention, there is provided a data recording apparatus comprising a data recording module having an image sensor, an image forming control connected to the data recording apparatus, the image forming control arranged to drive the image sensor to record an image comprising an image sensor. plurality of indicia, detecting image positions of each of the indicia, for each of a plurality of indicia pairs, determining whether the image positions of the indicia in the pair have a predetermined spatial relationship, and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting () values decoded from the indicia in the pair, and (1) an indicator that the decoded values are related. The imaging control may further be configured to present, in response to determining that an indicium does not have the predetermined spatial relationship, a value decoded from the indicium without the indicator. The data recording device may further comprise a screen, wherein the imaging control may further be arranged to present the values and the indicator, drive the screen to display the values and the indicator. The image positions can include bounding boxes. The imaging control may be further arranged to determine whether the image positions of the indicia in the pair have the predetermined spatial relationship to select a predetermined edge of each bounding box of the pair of indicia; and determine whether the edges are substantially collinear. The imaging control may further be configured to determine if the edges are substantially collinear, join the edges to generate a quadrilateral, define a surface area of the quadrilateral; and determining whether the surface area of the quadrilateral exceeds a threshold, wherein a surface area exceeding the threshold may indicate that the edges are not collinear. Each indicia can have a length and a height. The spatial relationship may be at least one of (1) the lengths of the pair of indicia are substantially collinear, and (Gi) the height of the pair of indicia are substantially collinear. The imaging controller may further be configured, to select the indicia pairs, to retrieve a configuration setting that determines first and second types of indicia, to decode indicia to obtain decoded values, to select a primary indicium that contains a decoded value corresponding to the first type, and for each pair, select respective secondary indicia having decoded values corresponding to the second type. The types of indicia can include predefined character strings. According to another aspect of the invention, there is provided a non-temporary computer-readable medium that stores computer-readable instructions executable by an image forming controller of a data recording device to connect an image sensor of the data recording device for recording an image. contains a plurality of indicia, detect image positions of each of the indicia to be driven, determine for each of a plurality of indicator pairs whether the image positions of the indicia in the pair have a predetermined spatial relationship, and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (1) values decoded from the indicia in the pair, and (ii) an indicator that the decoded values are related. BRIEF DESCRIPTION OF THE VARIOUS VIEWS 5 OF THE DRAWINGS The accompanying figures, where like reference numerals refer to identical or functionally like elements throughout the various views, are, together with the detailed description below, included in and a part of the description, and serve to further illustrate embodiments of concepts embracing the claimed invention, and explain various principles and advantages of these embodiments. FIG. 1 is a diagram of a data recording device. FIG. 2 is a block diagram of certain internal components of the data recording apparatus of FIG. 1. FIG. 3 is a flowchart of a method for decoding spatially related indicia. FIG. 4A is a diagram illustrating an image captured by the data recording apparatus of FIG. 1 during the execution of the method of FIG. 3. FIG. 4B is a diagram illustrating bounding boxes derived from the image of FIG. 4A. FIG. 5A is a flowchart of a method for performing block 325 of the method of FIG. 3. FIGS. 5B and 5C are diagrams illustrating an embodiment of the method of FIG. 5A. FIGS. GA, GB and 6C are diagrams illustrating further embodiments of the method of FIG. 5A. FIG. 7 is a diagram showing a sequence of images taken during the execution of the method of FIG. 3 illustrates. FIG. 8 is a diagram illustrating an embodiment of block 350 of the method of FIG. 3 illustrates. FIG. 9A is a diagram showing a further image captured by the data recording apparatus of FIG. 1 during the execution of the method of FIG. 3, illustrates. FIG. 9B is a diagram illustrating an embodiment of block 350 of the method of FIG. 3, following processing of the image of FIG. 9A. Those skilled in the art will be aware that elements in the figures are illustrated for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated with respect to other elements to improve understanding of the embodiments of the present invention. The apparatus and method components, where appropriate, are represented by conventional symbols in the drawings, showing only those specific details that are relevant to an understanding of the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to the user. those skilled in the art taking advantage of the disclosure herein. DETAILED DESCRIPTION Examples disclosed herein are directed to a method in a data recording apparatus for decoding spatially related indicia, the method comprising: in an imaging control, driving an image sensor to record an image comprising a plurality of indicia; at the imaging control, detecting image positions of each of the indicia; in the imaging control, for each of a plurality of indicia pairs: determining whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (i) values decoded from the indicia in the pair, and (ii) an indicator that the decoded values are related. Additional examples disclosed herein are directed to a data recording apparatus, comprising: a data recording module having an image sensor; an imaging controller associated with the data recording apparatus, the imaging controller configured to: drive the image sensor to record an image comprising a plurality of indicia; detecting image positions of each of the indicia; for each of a plurality of indicia pairs: determining whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (1) values decoded from the indicia in the pair, and (1) an indicator that the decoded values are related. Further examples disclosed herein are directed to a non-transient computer-readable medium that stores computer-readable instructions executable by an imaging controller of a data recording device to: an image sensor of the data recording device for recording an image containing a plurality of indicia. contains, to control; detect image positions of each of the indicia; for each of a plurality of indicator pairs: determining whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (1) values decoded from the indicia in the pair, and (ii) an indicator that the decoded values are related. FIG. 1 depicts an exemplary data recording device 100, in accordance with the teachings of this disclosure. The device 100 includes a housing 104 that supports the various other components discussed herein. In some examples, the housing 104 is a unitary structure that supports all other components of the device 100. In other examples, the housing 104 is implemented as two or more different (e.g. separable) housing components, such as a first component that includes a pistol grip handle, including a container adapted to receive a second component including the housing of a smartphone, tablet computer, or the like. The housing 104 supports a data recording module 108 adapted to receive indicia in a field of view 110. The data recording module 108 includes any suitable combination of light emitters, reflectors, and the like that enable the data recording module 108 to record indicia. In the present example, the data acquisition module 108 is an imaging-based barcode scanner, and therefore the data acquisition module 108 includes one or more image sensors (e.g., a camera). Also shown in FIG. 1 is an object 112 such as a box, pallet or the like, carrying a plurality of indicia. In the present example, the indicia are displayed on a sheet 116 attached to the object 112, and include indicia of two types. In particular, sheet 116 includes five example indicia 120a-1, 120a-2, 120a-3, 120a-4 and 120a-5 of a first type, and three example indicia 120b-1, 120b-2, and 120b-3 of a second type. In other examples, the indicia 120 should not be imaged on the sheet 116, but may instead be imaged directly on the object 112, on a plurality of sheets or other objects, or the like. The type of each indicium can be defined by an appropriate or appropriate combination of a symbology of the indicium and an attribute of data encoded by the indicium. In the current example, the indicia of the first type use the Code-128 symbology, and encodes serial numbers, as indicated by the characters "Ser" beginning each encoded value. The indicia of the second type also use the Code-128 symbology, and encode media access control (MAC) addresses, as indicated by the characters "Mac" beginning each encrypted value. For example, the indicia 120 may correspond to units of network equipment (e.g., routers) included in the object 112. A wide variety of other types of indicia may also be used, as is now apparent to those skilled in the art. For example, in other embodiments, some or all of the indicia 120 may be two-dimensional symbologies (e.g. PDF417), instead of the one-dimensional Code-128 symbology shown in FIG. 1. Furthermore, any of the data encoded in the indicia 120 can be used to distinguish between the types. As seen in FIG. 1, certain indicia 120 on the sheet 116 are related in that they encode data corresponding to the same object. For example, the indicia 120a-2 and 120b-1 encode a serial number and MAC address, respectively, for a single router in the object 112. Similarly, the indicia 120a-3 and 120b-2 encode a serial number and a MAC address. address for another router, while the indicia 120a-4 and 120b-3 encode a serial number and MAC address for yet another router. The indicia 120a-1 and 120a-5 encode serial numbers for two additional items that do not have MAC addresses (e.g., lengths of cables included with the routers listed above). As will be discussed in more detail below, the device 100 is configured to record and decode the indicia 120, and to detect whether any of the indicia 120 are related (e.g. corresponds to the same physical item, such as the one above). mentioned routers) based on the types of the indicia and on the relative spatial orientation of the indicia 120 on the sheet 116. For example, the device 100 may be configured to detect that the indicia 120a-2 and 120b-1 are related by detecting that indicia 120a-2 and 120b-1 are horizontally aligned (e.g., lengths La-2 and Lb-1 of indicia 120a-1 and 120b-1 are collinear). Apparatus 100 is further configured to present the results of a scan session to indicate any such relationships detected between recorded indicia 120. Turning to FIG. 2, a schematic diagram of certain internal components of device 100 is shown. The device 100 includes a central processing unit (CPU), also referred to as a processor 200, interconnected with a non-transient computer readable storage medium, such as a memory 204. The memory 204 includes any suitable combination of variable memory (e.g. Random Access Memory (“RAM”)) and immutable memory (eg. Read Only Memory (“ROM”) Electrically Erasable Programmable Read Only Memory (“EEPROM”), Flash Memory). In general, the processor 200 and memory 204 each include one or more integrated circuits. The data recording device 100 also includes at least one input device 208 interconnected with the processor 200. As will be appreciated by those skilled in the art, the input device 208 is configured to receive input and provide data representative of the received input to those of ordinary skill in the art. processor 200. In the present example, input device 208 includes a trigger supported by housing 104 in response to activation of which processor 200 controls data recording module 108 to initiate a recording session for recording indicia 120. The input device 208 may also include a touch screen, a microphone, a keypad, or the like. The device 100 also includes at least one output device 212 interconnected with the processor 200. The output device 212, in the present example, includes a screen supported by the housing 104. The screen may be a flat screen, such as an organic light emitting diode. - based screen (eg an active-matrix OLED, or AMOLED screen). However, in other examples, the screen can be implemented with any of a wide variety of screen technologies. In other examples (not shown), the output devices 212 also include any, or any appropriate combination of, a loudspeaker, a notification LED, and the like. The device 100 also includes a communications interface 216 interconnected with the processor 200. The communications interface 216 includes any appropriate hardware (e.g., transmitters, receivers, network interface drivers, and the like) that allows the device 100 to communicate. with other computing devices through a link to a network or with the other computing devices themselves. The specific components of the communication interface 216 are selected based on the type of network or other links that the device 100 needs to communicate over. Examples of such networks and / or links include those based on the Bluetooth ™ standard, the IEE 802.11 family of standards, wired links (eg Ethernet), mobile networks and the like. The various components of the device 100 are interconnected, for example via one or more communication buses. The device 100 also includes an energy source for providing the above components with electrical power. In the present example, the energy source includes a battery; in other examples, the power source includes a wired connection to an electrical outlet or other external power source in addition to or in place of the battery. The memory 204 stores a plurality of applications, each including a plurality of computer readable instructions, executable by the processor 200. The execution of the above instruction by the processor 200 causes the device 100 to implement certain functionalities as discussed below. . Each application is therefore said to be configured to perform the functionalities of the discussion below. In the present example, memory 204 stores a recording control application 220, also referred to herein as the application 220. The device 100 is set, through the execution of the application 220 by the processor 200, to initiate and terminate the recording sessions and, during such recording sessions, to record indicia, such as the indicia 120 shown in FIG. 1 and detect spatial relationships between them. Processor 200, as set through application execution 220, may also be referred to as an imaging driver. In other examples, some or all of the functionalities described below are implemented by the data recording module 108 itself (e.g., by incorporating a microcontroller into the data recording module 108) rather than at the processor 200. In other words, the data recording module 108 itself can perform the above-mentioned image control implemented. In further examples, the functionalities described herein are implemented as one or more specifically configured hardware elements, such as field programmable gate arrays (FPGAs) and / or application specific integrated circuits (ASICS), in addition to or in place of the data recording module 108 and the processor 200. Turning to FIG. 3, a method 300 for decoding spatially related indicia is depicted. The method 300 will be described in conjunction with its implementation by the device 100, with reference to the components of the device 100 as illustrated in FIG. 2. At block 305, the data recording device 100 is configured to record an image comprising a plurality of indicia. In the present example, the device 100 is assumed to take an image showing the entire sheet 116, as shown in FIG. 1. For example, execution of block 305 may be initiated in response to activation of input device 108 (e.g., the above trigger). After taking the image, the device 100 is configured to detect positions of the indicia 120 in the image, and to decode the indicia (e.g., to extract decoded values from each indicium 120). Turning to FIG. 4A, an image 400 is shown depicting the sheet 116 as included at block 305. The image 400 is shown in FIG. 4B in which the indicia 120 themselves are omitted for clarity of illustration, and instead show the positions of each indicium, as detected by the device 100. The positions of the indicia 120 are detected as bounding boxes 420 with numbers corresponding to these shown in FIG. 1. Thus, the bounding boxes 420a-1 to 420a-5 correspond to the indicia 120a-1 to 120a-5, respectively, and the bounding boxes 420b-1 to 420b-3 correspond to the indicia. 120b-1 to 120b-3, respectively. The bounding boxes 420 are shown graphically in FIG. 4B, but should not be stored graphically in the device 100. For example, each bounding box 420 may be stored as a set of four pairs of pixel coordinates that determine the position of a vertex of the bounding box. 420. The device 100 is also arranged, as indicated above, to decode the indicia comprising the captured image at block 305. Thus, a decoded value is, as shown in FIG. 4, shown in association with each bounding box 420 (e.g., the value "Ser001dkfi" in association with the bounding box 420a-1). In general, following the execution of block 305, the device 100 is configured to evaluate each of the plurality of pairs of the indicia detected and decoded at block 305 to determine whether each pair has a predetermined spatial relationship. In the present example, pairs of indicia are selected based on the configuration settings that determine the types of code and the associations between them. Going back to FIG. 3, at block 310, the processor 200 is configured to retrieve configuration settings associated with the application 220. The configuration settings determine types of indicia, as well as associations between the types of indicia. Table 1, below, illustrates an example set of configuration settings. Table 1: Example Configuration Settings As seen above, the configuration settings of Table 1 define two types of indicia, the first (“Series”) corresponding to indicia 120a, and the second (“MAC”) corresponding to indicia 120b . In addition to determining a symbology for each type and a sequence of characters encoded in the indicia of each type, the configuration settings show, for at least one type, a related type. So, in the example above, the configuration settings show that the “Series” type is related to the “MAC” type. In some examples, the MAC type may also include an indication related to the Series type. Nevertheless, as will become apparent in the discussion below, the configuration settings should only indicate an identifier of a related type in conjunction with one of a few indicia types that are related. At block 315, the device 100 is arranged to select the next indicium 120 of a first type indicated in the configuration settings. The "first" type, as referred to herein, is a type of indicium for which the configuration settings include a related indicium type. Thus, in the present example, at block 315, the device 100 is configured to select one of the indicia 120a. Any of the indicia 120a can be selected at block 315. For illustrative reasons, in the current exemplary embodiment of block 315, the indicium 120a-1 (encoding the value "Ser001dkfi") is selected at block 315. At block 320, the device 100 is configured to select the next indicium 120 of a second type. The second type is the type identified as being related to the first type in the configuration settings. Therefore, in the current example, at block 315, the device 100 is configured to select one of the indicia 120b that corresponds to the MAC type indicated in the configuration settings as being related to the Series type. For illustrative reasons, it is assumed that the device 100 selects the indicium 120b-1 at block 320. The indicia selected at blocks 315 and 320 form a pair of indicia, and the device 100 is then configured, at block 325, to determine whether the selected pairs of indicia 120 have a predetermined spatial relationship. That is, the device 100 is configured to determine whether the indicia 120 in the pair have a predetermined position relative to each other, as indicated by the bounding boxes 420. Any of one or more predetermined spatial relationships can be evaluated at block 325. In the present example, the device 100 is configured to determine whether the pair of indicia selected at blocks 315 and 320 are aligned so that their lengths are collinear. That is, with the blade 116 in the orientation as shown in FIGS. 1 and 4, that the device 100 is arranged to determine whether the pair of indicia are horizontally aligned. As noted above, indicia 120 that are horizontally aligned have lengths (e.g., the lengths La-2 and Lb-1 shown in FIG. 1, measured along the top edges of the indicia 120a-2 and 120b-1, respectively) that are substantially collinear. In other words, the indicia 120 appear at substantially the same position along the length of the blade 116, and at different positions across the width of the blade 116. Various mechanisms for making the determination at block 325 are contemplated. In the current exemplary embodiment of the method 300, the determination at block 325 is performed by determining the area of a square with two opposite sides defined by the respective edges of the indicia 120 selected at blocks 315 and 320. More specifically, targeting in FIG. 5A, a method 500 is shown for determining whether the pair of indicia have a predetermined spatial relationship. At block 505, the device 100 is configured to select an edge of each of the indicia 120 in the pair being evaluated. In the current example, as shown in FIG. 5B, the top edges 520a-1 and 520b-1 of the bounding boxes 420a-1 and 420b-1 are selected. At block 510, the device 100 is configured to determine the area of the square defined by the edges selected at block 505. In particular, as shown in FIG. 5C, the device 100 is configured to generate segments 524 connecting the ends of the edges 520a-1 and 520b-1, such that the segments 524 together with the edges 520a-1 and 520b-1 complete a square 528. The device 100 is configured to determine the internal area of the square 528 (e.g., the shaded area in FIG. 5C). At block 515, the device 100 is configured to determine whether the area determined at block 510 exceeds a predetermined threshold. The top edges of horizontally aligned indicia 120 define a square with an area that is zero, or substantially zero, because the top edges are collinear. Thus, the threshold at block 515 is set within a predetermined tolerance of zero. The area can be specified, for example, as a number of square pixels, as a percentage of the pixel area of the image 400, as a percentage of the area of the bounding boxes 420, or the like. In the present example, the threshold at block 515 is determined as a fraction (e.g., 10%) of the combined area of the bounding boxes 420 corresponding to the indicia selected at blocks 315 and 320. As seen in FIG. 5C, the area of the square 528 exceeds 10% of the combined areas of the bounding boxes 420a-1 and 420b-1 as shown in FIG. 5B. Thus, the determination at block 515 is affirmative, and the device 100 proceeds to block 330. That is, the determination at block 325 is negative. Following a negative determination at block 325, the device 100 proceeds to block 330, and determines whether any of the indicia 120 of the second type remains for processing. At present, the determination is affirmative because the indicia 120b-2 and 120b-3 have not been processed. Therefore, going back to block 320, the device 100 is configured to select a new pair of indicia, including the indicium 120a-1 (e.g., the same indicium 120 of the first type) and the indicium 120b-2. The device 100 is then configured to repeat block 325 for the current pair. As will now be appreciated, the determination at block 325 is negative for both the pair comprising indicia 120a-1 and 120b-2, and the pair comprising indicia 120a-2 and 120b-3. FIG. GA illustrates a square 600 formed by the edges 520a-1 and 620b-2 of the bounding boxes 420a-1 and 420b-2. As is apparent from FIG. GA, the area of the square exceeds the above-mentioned threshold of 10% of the combined area of the bounding boxes 420a-1 and 420b- 2. FIG. GB illustrates a square 604 formed by the edges 520a-1 and 620b-3 of the bounding boxes 420a-1 and 420b-3. The area of the square 604, as with the square 600, exceeds the above threshold. Going back to FIG. 3, following evaluation of the pairs of bounding boxes 420 shown in FIGS. 6A and 6B, the device 100 is configured to perform a further case of block 330. In a further execution of block 330, the determination is negative, since no further indicia 120 of the second type (e.g., the MAC type, in this example) are left to be processed. In response to a negative determination at block 330, the device 100 proceeds to block 340. At block 340, the device 100 is configured to determine whether indicia 120 are of the first type (e.g., the Series type, in the present example), remain to be processed. In the present exemplary embodiment of the method 300, the determination at block 340 is affirmative since the indicia 120a-2 through 120a-5 have not been processed. The device 100 therefore returns to block 315 and selects the indicium 120a-2 at block 315. At block 320, the next indicium 120 of the second type is selected (e.g., the indicium 120b-1). In other words, the device 100 is arranged to orbit through the indicia 120 of the second type for each of the indicia 120 of the first type. The execution of block 325 is then repeated for the current pair of indicia 120 selected at blocks 315 and 320. FIG. 6C illustrates the implementation of block 325 for indicia 120a-2 and 120b-1. As seen in FIG. GC, a square 608 formed by the edges 520a-2 and 520b-1 of the bounding boxes 420a-2 and 420b-1, respectively, is substantially one-dimensional because the edges 520a-2 and 520b-1 are substantially collinear . Therefore, the area of the square is essentially zero, below the threshold mentioned above. Going back to FIG. 3, the determination at block 325 is therefore affirmative. In response to an affirmative determination at block 325, at block 335, the device 100 is configured to store the values decoded from the pair of indicia 120 selected at blocks 315 and 320 with an indicator that the values are related. A wide variety of indicators are considered. For example, the indicator may include a data field associated with at least one of the related decoded values, including a reference to the other of the related decoded values. The reference may include a storage location of the other decoded value, or the other decoded value itself. In further examples, the decoded values may be stored in a store in memory 204 that determines pairs of associated fields. Thus, the storage of the indicia in a pair of the above fields, rather than the separate pairs (with the other part of the pair being empty), serves as the indicator at block 335. Following the execution of block 335, device 100 proceeds to block 340, and the above process is repeated until all indicia 120 have been toggled at block 305, a value decoded from each indicium is stored in memory 204, with or without an indicator related to another indicium, according to the determination (s) at block 325 for pairs comprising that value. If the determination at block 340 is negative, showing that all indicia 120 included at block 305 have been processed and are either paired with a related indicia or remain unpaired through one or more negative determinations at 325, device 100 proceeds to block 345. At block 345, the device 100 is configured to proceed to block 345 and determine whether the scan session is complete. In some examples, the determination at block 345 is the same as the determination at block 340. That 1s, if no indicia of the first type remain to be processed, the scan session is automatically ended. In other words, block 345 can be omitted in such embodiments. In other embodiments, the device 100 operates in a multi-frame recording mode, in which more than one image can be recorded at block 305 during a single scan session. Such a mode can be used when sheet 116 cannot be included in a single image, e.g., due to its physical size. Turning to FIG. 7, an example sheet 716 is shown bearing the indicia 120a-1 to 120a-5 and 120b-1 to 120b-3 as discussed above, as well as the additional indicia 120a-6, 120a-7 and 120b. -4 and 120b-5. The sheet 716 is too large to be recorded in a single image, and the apparatus 100 is therefore adapted to take a plurality of images (e.g., when the field of view 108 is swept across the sheet 716). In particular, two images 700-1 and 700-2 are illustrated enclosing overlapping portions of the blade 716. Each image 700 is processed through the execution of blocks 310-340. The device 100 may also be configured, in response to recording an image at block 305, to decode the indicia therein, but to perform further processing only on those not previously processed through blocks 315-340, so as to prevent the generation of duplicate output. Sheet 716 also includes an indicium 704 that encodes a quantity (e.g., a Data Matrix barcode in the present example). The quantity encoded by the indicium 704 specifies the number of items in the object 112, which correspond to the expected number of Series-type indicia 120 (i.e. the indicia 12024). The determination at block 345 in such embodiments may include a determination as to whether the number of indicia 1204 encoded and processed matches the number encoded in the quantity indicator 704. If the determination at block 345 is negative, the device 100 is configured to return to block 305 (e.g., to record another image). If the determination at block 345 is affirmative, device 100 proceeds to block 350. At block 350, the device 100 is configured to present the values decoded from the indicia 120. Presenting the decoded values can drive any one of, or a combination of, the output device 212 to present the values (e.g., for displaying the values). displaying the values on a screen), sending the values to another computing device, or the like. The decoded values of pairs of related indicia 120 (e.g., pairs of indicia 120 for which the determination at block 325 is affirmative) are presented with an indication that they are related. Values decoded from indicia 120 for which no affirmative determination was made at block 325 are presented without such indicator. FIG. 8 illustrates the device 100 following the execution of block 350, in which the output device 212 (a screen, in the present example) is controlled by the processor 200 to present the values decoded from the indicia 120, including the graphical indicators 800 -1, 800-2, 800-3, indicating that certain pairs of values are related. The remaining values (corresponding to indicia 120a-1 and 120a-5) are shown, without such indicators. Variations on the device and method above are contemplated. For example, the execution of the method 300 can be extended to detect the spatial relationships between more than two types of indicia. Turning to FIG. 9A, a blade 900 carrying three types of indicia 1204, 120b (as discussed above) and 120c is illustrated. The indicia 120c encode colors for the routers or other equipment that correspond to the serial numbers and MAC addresses encoded by the indicia 1204 and 120b, respectively. So the string “CLBlack” shows the color of a router that has the serial number string “Ser002dkfi” and the MAC address string “Mac21353”. Table 2, below, illustrates example configuration settings for use in decoding the indicia from the blade 900. Table 2: Example Configuration Settings leur [Codetzs OL | __ | As seen above, the configuration settings indicate that the serial number type is related to both the MAC address and the color types. Thus, the device 100 can be configured to execute blocks 320-335 for each Series-type indicium to determine whether a related MAC-type indicium exists. Nevertheless, before moving on to the next Series-type indicium, the device 100 is configured to repeat blocks 320-335 for the third type (Color, in the current example). FIG. 9B illustrates an example partial presentation of decoded values from the sheet 900, including graphical indicators 904, 908 indicating triplets of related values. In further variations, the device 100 can be configured to evaluate a plurality of different spatial relationships at block 325, in addition to or in place of the horizontal alignment described above. For example, the device 100 can be configured to detect vertical alignment (e.g., that the heights of two or more indicia 120 are collinear) of indicia by selecting left or right edges of the indicia 120 and generating a square thereof, as discussed in connection with method 500. Device 100 may further be configured to impose an additional threshold at block 325, such as a distance threshold. For example, the device 100 may be arranged to determine the centroid of each bounding box 420, and to determine a distance between the centroid of the bounding boxes 420 of the indicia selected at blocks 315 and 320. The determination of block 325 can only be affirmative. when the alignment criteria (e.g., the area of the square as discussed above) is met and when the distance is below a predetermined threshold indicating that the pair of indicia are along each other. In the foregoing description, specific embodiments have been described. However, those skilled in the art will recognize that various modifications and changes can be made without departing from the scope of the invention as set out in the claims below. Therefore, the description and figures are to be understood by way of illustration rather than limitation, and all such modifications are intended to be included within the scope of the invention of the present description. The benefits, solutions to problems, and any element (s) that could cause any benefit or solution to occur or become more apparent should not be construed as critical, mandatory or essential features or elements of any or all of the conclusions. The invention is defined solely by the appended claims, including any modifications made during the course of this application and all equivalents to those claims as published. For clarity and brief description, features are described herein as part of the same or separate embodiments, but it is to be understood that the scope of the invention may include embodiments having combinations of all or some of the features described. It will be understood that the embodiments shown have the same or similar components, except where they are described as being different. In addition, relational terms such as first and second, top and bottom, and the like, may be used herein only to distinguish an entity or action from another entity or action without necessarily requiring or requiring an actual relationship or sequence between such entities or actions. imply. The terms “comprise”, “comprising”, “has”, “having”, “contains”, “containing” or any variation thereof are intended to cover a non-exclusive inclusion, so that a process, method, article, or assembly that a list includes, has, contains not only those elements but may also contain other elements not explicitly mentioned or inherent in such a process, method, item, or assembly. An element preceded by “includes. a ”,“ has… a ”,“ contains… a ”does not exclude, without further restrictions, the existence of additional identical elements in the process, method, item, or arrangement comprising, has or contains the element. The term “one” is defined as one or more unless explicitly stated otherwise. The terms "substantially", "essential", "near", "approximately" or any other version thereof are defined as close to what is understood by those of skill in the art, and in a non-limiting embodiment, the term is defined as being within 10% , in another embodiment within 5%, in another embodiment within 1%, and in another embodiment within 0.5%. The term "linked" is defined herein as linked, although not necessarily directly and not necessarily mechanically. A device or structure that is "provisioned" in a certain way, at least that way, but can also be arranged in ways that are not described. It will be appreciated that some embodiments may be contained in one or more generic or specialized processors (or "processing devices") such as microprocessors, digital signal processors, custom processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) which direct the one or more processors to implement, in conjunction with certain non-processor circuitry, some, most, or all of the functions of the method and / or arrangement described herein. Alternatively, some or all of the functions can be implemented by a state machine that does not contain any stored program instructions, or in one or more application specific integrated circuits (ASICs), in which any function or some combinations of certain functions are implemented as custom logic. Of course, a combination of the two approaches could be used. In addition, one embodiment can be implemented as a computer-readable storage medium with computer-readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method as described herein and for which rights are pending. Examples of such computer readable storage media include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (read-only memory), a PROM (programmable read-only memory), an EPROM (erasable programmable read-only memory), an EEPROM (electrically erasable programmable read-only memory), and a flash memory. Furthermore, it is expected that, notwithstanding potentially significant efforts and many design choices motivated by, for example, available time, current technology and economic considerations, when guided by the concepts and principles described herein, those skilled in the art will be readily able to use such software instructions and software. generate programs and ICs with minimal experimentation. The summary of the disclosure is provided to give the reader a quick impression of the nature of the technical description. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, it can be seen in the foregoing "detailed description" that different features are grouped together in different embodiments to streamline the description. This manner of description cannot be interpreted as reflecting an intention that the claimed embodiments require more features than those expressly set forth in each claim. Rather, as the following claims reflect, there is inventive matter in less than all of the features of a single described embodiment. Thus, the following claims are included in the "detailed description", with each claim standing alone as subject matter individually for which rights are sought. The mere fact that certain measures are defined in mutually different claims does not indicate that a combination of these measures cannot be used to an advantage. A multitude of variants will be apparent to those skilled in the art. All variants are understood to fall within the scope of the invention described in the following claims.
权利要求:
Claims (19) [1] A method in a data recording apparatus for decoding spatially related indicia, the method comprising: in an imaging control, driving an image sensor to record an image comprising a plurality of indicia; at the imaging control, detecting image positions of each of the indicia; in the imaging control, for each of a plurality of indicia pairs: determining whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting () values decoded from the indicia in the pair, and (ii) an indicator that the decoded values are related. [2] The method of claim 1, further comprising: in the imaging control, in response to determining that an indicium does not have the predetermined spatial relationship, presenting a value decoded from the indicium without the indicator. [3] The method of claim 1 or 2, wherein presenting the values and the indicator comprises driving a screen of the data recording device to display the values and the indicator. [4] The method of claim 1, 2 or 3, wherein the image positions comprise bounding boxes. [5] The method of claim 4, wherein determining whether the image positions of the indicia in the pair have the predetermined spatial relationship comprises: at the imaging control, selecting a predetermined edge of each bounding box of the pair of indicia ; and determining whether the edges are substantially collinear. [6] The method of claim 5, wherein determining whether the edges are substantially collinear comprises: on the imaging control, joining the edges to generate a quadrilateral; determining a surface area of the quadrilateral; and determining whether the surface area of the quadrilateral exceeds a threshold, wherein a surface area exceeding the threshold indicates that the edges are not collinear. [7] The method of any preceding claim, wherein each indicia has a length and a height; and wherein the spatial relationship is at least one of (1) the lengths of the pair of indicia are substantially collinear, and (ii) the height of the pair of indicia are substantially collinear. [8] The method of any preceding claim, further comprising selecting the indicia pairs in the imaging control by: retrieving a configuration setting that determines first and second indicia types; decoding the indicia to obtain decoded values; selecting a primary indicium that has a decoded value corresponding to the first type; and selecting, for each pair, respective secondary indicia having decoded values corresponding to the second type. [9] The method of claim 8, wherein the types of indicia include predetermined character strings. [10] A data recording apparatus, comprising: a data recording module having an image sensor; an imaging controller associated with the data recording apparatus, the imaging controller configured to: drive the image sensor to record an image comprising a plurality of indicia; detecting image positions of each of the indicia; for each of a plurality of indicia pairs: determining whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (1) values decoded from the indicia in the pair, and (11) an indicator that the decoded values are related. [11] The data recording apparatus of claim 10, wherein the imaging control is further configured to: in response to determining that an indicium does not have the predetermined spatial relationship, present a value decoded from the indicium without the indicator. [12] The data recording device of claim 10 or 11, further comprising a screen; wherein the imaging control is further arranged to present the values and the indicator, driving the screen to display the values and the indicator. [13] The data recording apparatus of claim 10, 11 or 12, wherein the image positions includes bounding boxes. [14] The data recording apparatus of claim 13, wherein the imaging control is further configured to determine whether the image positions of the indicia in the pair have the predetermined spatial relationship to: a predetermined edge of each bounding box of the pair. select from indicia; and determine whether the edges are substantially collinear. [15] The data recording apparatus of claim 14, wherein the imaging control is further configured to determine whether the edges are substantially collinear to: merge the edges to generate a quadrilateral; determine a surface area of the quadrilateral; and determining whether the surface area of the quadrilateral exceeds a threshold, wherein a surface area exceeding the threshold indicates that the edges are not collinear. [16] The data recording device according to any one of claims 10-15, wherein each indicia has a length and a height; and wherein the spatial relationship is at least one of (1) the lengths of the pair of indicia are substantially collinear, and (ii) the height of the pair of indicia are substantially collinear. [17] The data recording apparatus of any one of claims 10-16, wherein the imaging control is further configured, to select the indicia pairs, to: retrieve a configuration setting that determine first and second types of indicia; decode indicia to obtain decoded values; select a primary indicium that has a decoded value corresponding to the first type; and for each pair, selecting respective secondary indicia having decoded values corresponding to the second type. [18] The data recording apparatus of claim 17, wherein the types of indicia include predetermined character strings. [19] A non-transient computer-readable medium that stores computer-readable instructions executable by an imaging controller of a data recording device to: driving an image sensor of the data recording apparatus for recording an image containing a plurality of indicia; detect image positions of each of the indicia; for each of a plurality of indica pairs: determine whether the image positions of the indicia in the pair have a predetermined spatial relationship; and in response to determining that the indicia in the pair have the predetermined spatial relationship, presenting (1) values decoded from the indicia in the pair, and (11) an indicator that the decoded values are related.
类似技术:
公开号 | 公开日 | 专利标题 US10229509B2|2019-03-12|Methods and systems for automatic fullness estimation of containers US20200356785A1|2020-11-12|Method and Apparatus for Shelf Feature and Object Placement Detection from Shelf Images US10445821B2|2019-10-15|Planogram and realogram alignment US20200118063A1|2020-04-16|Method and Apparatus for Object Status Detection US20170262862A1|2017-09-14|Method and apparatus for managing and providing provenance of product using blockchain BE1025892B1|2019-09-12|METHOD FOR SCREEN EDGE DETECTION US20170178060A1|2017-06-22|Planogram Matching BE1026792B1|2021-02-24|METHOD AND ARRANGEMENT FOR DECODING SPATIAL-RELATED INDICIA US20180315065A1|2018-11-01|Method and apparatus for extracting and processing price text from an image set US10157379B2|2018-12-18|Self checkout with security checks based on categorized items AU2016398052A1|2018-09-06|Device and method of dimensioning using digital images and depth data CN107408264A|2017-11-28|Similar Articles detecting US7537158B1|2009-05-26|Method for determining product compatibility US10572757B2|2020-02-25|User interface for object detection and labeling US20140262549A1|2014-09-18|System and method of encoding item information from a scale in a self-service scanning solution JP2012074013A|2012-04-12|Information reading device, commodity sales information processor and attached object JP6038995B2|2016-12-07|Patch JP6199332B2|2017-09-20|Information processing apparatus and program US11151341B2|2021-10-19|Method and device for determining object orientation US20210097517A1|2021-04-01|Object of interest selection for neural network systems at point of sale BE1026830B1|2021-02-22|AUTHENTICATION FOR CONNECTING A BARCODE READER TO A CLIENT COMPUTER DEVICE TWM496185U|2015-02-21|Shop recommendation and material history inquiring system JP6989740B2|2022-01-12|Check-out device for products without barcodes US20210150210A1|2021-05-20|Object verification/recognition with limited input US9798914B1|2017-10-24|System for and method of efficiently processing targets to be electro-optically read by image capture
同族专利:
公开号 | 公开日 GB202107234D0|2021-07-07| CN113168615A|2021-07-23| GB2593364A|2021-09-22| DE112019006125T5|2021-08-26| US10558831B1|2020-02-11| WO2020123027A1|2020-06-18| AU2019399481A1|2021-04-22| BE1026792A1|2020-06-17|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US20060261167A1|2005-05-17|2006-11-23|Intermec Ip Corp.|Methods, apparatuses and articles for automatic data collection devices, for example barcode readers, in cluttered environments| US20080121688A1|2006-08-30|2008-05-29|Becton, Dickinson And Company|Multiple Barcode Format Labelling System and Method| EP2423848A2|2010-08-31|2012-02-29|Hand Held Products, Inc.|Method of barcode sequencing when area imaging| US20130341401A1|2012-06-26|2013-12-26|Symbol Technologies, Inc.|Methods and apparatus for selecting barcode symbols| US20090078774A1|2007-09-21|2009-03-26|Symbol Technologies, Inc.|Graphical User Interface for Use in Programming a Barcode Reader| US9524411B2|2010-03-04|2016-12-20|Symbol Technologies, Llc|User-customizable data capture terminal for and method of imaging and processing a plurality of target data on one or more targets| US8608073B2|2012-01-26|2013-12-17|Apple Inc.|System and method for robust real-time 1D barcode detection| KR102173123B1|2013-11-22|2020-11-02|삼성전자주식회사|Method and apparatus for recognizing object of image in electronic device| US10867141B2|2017-07-12|2020-12-15|Hand Held Products, Inc.|System and method for augmented reality configuration of indicia readers|US10952059B2|2018-12-20|2021-03-16|Arris Enterprises Llc|Method and system for wireless extender onboarding|
法律状态:
2021-04-23| FG| Patent granted|Effective date: 20210224 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US16/214,740|US10558831B1|2018-12-10|2018-12-10|Method and apparatus for decoding spatially related indicia| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|